home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / PInterfaces / QDOffscreen.p < prev    next >
Encoding:
Text File  |  1995-07-06  |  5.5 KB  |  201 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QDOffscreen.p
  3.  
  4.      Contains:    QuickDraw Offscreen GWorld Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT QDOffscreen;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __QDOFFSCREEN__}
  30. {$SETC __QDOFFSCREEN__ := 1}
  31.  
  32. {$I+}
  33. {$SETC QDOffscreenIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __ERRORS__}
  38. {$I Errors.p}
  39. {$ENDC}
  40. {    ConditionalMacros.p                                            }
  41.  
  42. {$IFC UNDEFINED __QUICKDRAW__}
  43. {$I Quickdraw.p}
  44. {$ENDC}
  45. {    Types.p                                                        }
  46. {    MixedMode.p                                                    }
  47. {    QuickdrawText.p                                                }
  48.  
  49. {$PUSH}
  50. {$ALIGN MAC68K}
  51. {$LibExport+}
  52.  
  53. CONST
  54.     pixPurgeBit                    = 0;
  55.     noNewDeviceBit                = 1;
  56.     useTempMemBit                = 2;
  57.     keepLocalBit                = 3;
  58.     pixelsPurgeableBit            = 6;
  59.     pixelsLockedBit                = 7;
  60.     mapPixBit                    = 16;
  61.     newDepthBit                    = 17;
  62.     alignPixBit                    = 18;
  63.     newRowBytesBit                = 19;
  64.     reallocPixBit                = 20;
  65.     clipPixBit                    = 28;
  66.     stretchPixBit                = 29;
  67.     ditherPixBit                = 30;
  68.     gwFlagErrBit                = 31;
  69.  
  70.     pixPurge                    = 1 * (2**(pixPurgeBit));
  71.     noNewDevice                    = 1 * (2**(noNewDeviceBit));
  72.     useTempMem                    = 1 * (2**(useTempMemBit));
  73.     keepLocal                    = 1 * (2**(keepLocalBit));
  74.     pixelsPurgeable                = 1 * (2**(pixelsPurgeableBit));
  75.     pixelsLocked                = 1 * (2**(pixelsLockedBit));
  76.     mapPix                        = 1 * (2**(mapPixBit));
  77.     newDepth                    = 1 * (2**(newDepthBit));
  78.     alignPix                    = 1 * (2**(alignPixBit));
  79.     newRowBytes                    = 1 * (2**(newRowBytesBit));
  80.     reallocPix                    = 1 * (2**(reallocPixBit));
  81.     clipPix                        = 1 * (2**(clipPixBit));
  82.     stretchPix                    = 1 * (2**(stretchPixBit));
  83.     ditherPix                    = 1 * (2**(ditherPixBit));
  84.     gwFlagErr                    = 1 * (2**(gwFlagErrBit));
  85.  
  86.     
  87. TYPE
  88.     GWorldFlags = LONGINT;
  89.  
  90. { Type definition of a GWorldPtr }
  91.     GWorldPtr = CGrafPtr;
  92.  
  93.  
  94. FUNCTION NewGWorld(VAR offscreenGWorld: GWorldPtr; PixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): QDErr;
  95.     {$IFC NOT GENERATINGCFM}
  96.     INLINE $203C, $0016, $0000, $AB1D;
  97.     {$ENDC}
  98. FUNCTION LockPixels(pm: PixMapHandle): BOOLEAN;
  99.     {$IFC NOT GENERATINGCFM}
  100.     INLINE $203C, $0004, $0001, $AB1D;
  101.     {$ENDC}
  102. PROCEDURE UnlockPixels(pm: PixMapHandle);
  103.     {$IFC NOT GENERATINGCFM}
  104.     INLINE $203C, $0004, $0002, $AB1D;
  105.     {$ENDC}
  106. FUNCTION UpdateGWorld(VAR offscreenGWorld: GWorldPtr; pixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): GWorldFlags;
  107.     {$IFC NOT GENERATINGCFM}
  108.     INLINE $203C, $0016, $0003, $AB1D;
  109.     {$ENDC}
  110. PROCEDURE DisposeGWorld(offscreenGWorld: GWorldPtr);
  111.     {$IFC NOT GENERATINGCFM}
  112.     INLINE $203C, $0004, $0004, $AB1D;
  113.     {$ENDC}
  114. PROCEDURE GetGWorld(VAR port: CGrafPtr; VAR gdh: GDHandle);
  115.     {$IFC NOT GENERATINGCFM}
  116.     INLINE $203C, $0008, $0005, $AB1D;
  117.     {$ENDC}
  118. PROCEDURE SetGWorld(port: CGrafPtr; gdh: GDHandle);
  119.     {$IFC NOT GENERATINGCFM}
  120.     INLINE $203C, $0008, $0006, $AB1D;
  121.     {$ENDC}
  122. PROCEDURE CTabChanged(ctab: CTabHandle);
  123.     {$IFC NOT GENERATINGCFM}
  124.     INLINE $203C, $0004, $0007, $AB1D;
  125.     {$ENDC}
  126. PROCEDURE PixPatChanged(ppat: PixPatHandle);
  127.     {$IFC NOT GENERATINGCFM}
  128.     INLINE $203C, $0004, $0008, $AB1D;
  129.     {$ENDC}
  130. PROCEDURE PortChanged(port: GrafPtr);
  131.     {$IFC NOT GENERATINGCFM}
  132.     INLINE $203C, $0004, $0009, $AB1D;
  133.     {$ENDC}
  134. PROCEDURE GDeviceChanged(gdh: GDHandle);
  135.     {$IFC NOT GENERATINGCFM}
  136.     INLINE $203C, $0004, $000A, $AB1D;
  137.     {$ENDC}
  138. PROCEDURE AllowPurgePixels(pm: PixMapHandle);
  139.     {$IFC NOT GENERATINGCFM}
  140.     INLINE $203C, $0004, $000B, $AB1D;
  141.     {$ENDC}
  142. PROCEDURE NoPurgePixels(pm: PixMapHandle);
  143.     {$IFC NOT GENERATINGCFM}
  144.     INLINE $203C, $0004, $000C, $AB1D;
  145.     {$ENDC}
  146. FUNCTION GetPixelsState(pm: PixMapHandle): GWorldFlags;
  147.     {$IFC NOT GENERATINGCFM}
  148.     INLINE $203C, $0004, $000D, $AB1D;
  149.     {$ENDC}
  150. PROCEDURE SetPixelsState(pm: PixMapHandle; state: GWorldFlags);
  151.     {$IFC NOT GENERATINGCFM}
  152.     INLINE $203C, $0008, $000E, $AB1D;
  153.     {$ENDC}
  154. FUNCTION GetPixBaseAddr(pm: PixMapHandle): Ptr;
  155.     {$IFC NOT GENERATINGCFM}
  156.     INLINE $203C, $0004, $000F, $AB1D;
  157.     {$ENDC}
  158. FUNCTION NewScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  159.     {$IFC NOT GENERATINGCFM}
  160.     INLINE $203C, $000E, $0010, $AB1D;
  161.     {$ENDC}
  162. PROCEDURE DisposeScreenBuffer(offscreenPixMap: PixMapHandle);
  163.     {$IFC NOT GENERATINGCFM}
  164.     INLINE $203C, $0004, $0011, $AB1D;
  165.     {$ENDC}
  166. FUNCTION GetGWorldDevice(offscreenGWorld: GWorldPtr): GDHandle;
  167.     {$IFC NOT GENERATINGCFM}
  168.     INLINE $203C, $0004, $0012, $AB1D;
  169.     {$ENDC}
  170. FUNCTION QDDone(port: GrafPtr): BOOLEAN;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $203C, $0004, $0013, $AB1D;
  173.     {$ENDC}
  174. FUNCTION OffscreenVersion: LONGINT;
  175.     {$IFC NOT GENERATINGCFM}
  176.     INLINE $7014, $AB1D;
  177.     {$ENDC}
  178. FUNCTION NewTempScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  179.     {$IFC NOT GENERATINGCFM}
  180.     INLINE $203C, $000E, $0015, $AB1D;
  181.     {$ENDC}
  182. FUNCTION PixMap32Bit(pmHandle: PixMapHandle): BOOLEAN;
  183.     {$IFC NOT GENERATINGCFM}
  184.     INLINE $203C, $0004, $0016, $AB1D;
  185.     {$ENDC}
  186. FUNCTION GetGWorldPixMap(offscreenGWorld: GWorldPtr): PixMapHandle;
  187.     {$IFC NOT GENERATINGCFM}
  188.     INLINE $203C, $0004, $0017, $AB1D;
  189.     {$ENDC}
  190.  
  191. {$ALIGN RESET}
  192. {$POP}
  193.  
  194. {$SETC UsingIncludes := QDOffscreenIncludes}
  195.  
  196. {$ENDC} {__QDOFFSCREEN__}
  197.  
  198. {$IFC NOT UsingIncludes}
  199.  END.
  200. {$ENDC}
  201.